/**
 * @filename:User 2019年4月9日
 * @project user_center  V1.0
 * Copyright(c) 2018 BianPeng Co. Ltd. 
 * All right reserved. 
 */
package com.association.model.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

/**   
 *  
 * @Description:  用户
 * @Author:       BianPeng   
 * @CreateDate:   2019年4月9日
 * @Version:      V1.0
 *    
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {

	private static final long serialVersionUID = 1644496806794L;
	
	@ApiModelProperty(name = "id" , value = "ID")
    @TableField("id")
	private Long id;
	@ApiModelProperty(name = "avatarId" , value = "头像")
    @TableField("avatar")
	private Long avatar;
	@ApiModelProperty(name = "nickName" , value = "名称")
    @TableField("nickName")
	private String nickName;
	@ApiModelProperty(name = "email" , value = "邮箱")
    @TableField("email")
	private String email;
	@ApiModelProperty(name = "enabled" , value = "状态：0启用、1禁用")
    @TableField("enabled")
	private Long enabled;
	@ApiModelProperty(name = "password" , value = "密码")
    @TableField("password")
	private String password;
	@ApiModelProperty(name = "userName" , value = "用户名")
    @TableField("userName")
	private String userName;

	@ApiModelProperty(name = "userType" , value = "用户类型")
	@TableField("userType")
	private String userType;

	@ApiModelProperty(name = "deptId" , value = "部门id")
    @TableField("dept_id")
	private Long deptId;
	@ApiModelProperty(name = "jobId" , value = "职位id 职位id")
    @TableField("role_id")
	private Long roleId;
	@ApiModelProperty(name = "phone" , value = "手机号")
    @TableField("phone")
	private String phone;
	@ApiModelProperty(name = "projectId" , value = "协会id")
    @TableField("project_id")
	private Integer projectId;
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@ApiModelProperty(name = "createTime" , value = "创建日期")
    @TableField("create_time")
	private Date createTime;
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@ApiModelProperty(name = "updateTime" , value = "最后一次登录时间")
    @TableField("update_time")
	private Date updateTime;
	@ApiModelProperty(name = "lastIp" , value = "最后一次登录ip")
    @TableField("last_ip")
	private String lastIp;
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@ApiModelProperty(name = "lastPasswordResetTime" , value = "最后修改密码的日期")
    @TableField("last_password_reset_time")
	private Date lastPasswordResetTime;
	@ApiModelProperty(name = "sex" , value = "性别(0女，1男)")
    @TableField("sex")
	private String sex;
	@ApiModelProperty(name = "isDel" , value = "是否删除")
    @TableField("is_del")
	private Integer isDel;
	@ApiModelProperty(name = "score" , value = "积分")
	@TableField("score")
	private Integer score;

	@TableField(exist = false)
	private Dept dept;

	@TableField(exist = false)
	private String deptName;

	@TableField(exist = false)
	private String projectName;

	@TableField(exist = false)
	private String RoleName;

	@TableField(exist = false)
	private Dept supDept;

	@TableField(exist = false)
	private List<Long> ids;

}
